package com.sfx.算法专题.链表.A总结题型;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: sfx
 * Date: 2023-08-03
 * Time: 21:28
 */
public class A总结题型 {
    /**
     * 主要是总结链表题型的几个特点
     * 1. 单指针
     *    比如删除链表中重复元素,使用一个指针 形如 cur.next = cur.next.next来判断是否与下一个元素重复
     * 2.双指针
     *   最经典的就是一个prev + cur 进行迭代操作
     *   2.1  一个在前,一个在后面遍历 --> 反转链表
     *   2.2  prev 一直不动,cur一直给prev.next节点 然后prev,cur在一直迭代
     *        ---> 反转区间链表,两两交换链表中的节点-->反转部分链表都适用-->穿针引线
     *   2.3  穿针引线 --> 反转区间链表
     * 3. 快慢指针系列
     *   3.1  链表成环问题,找入环结点问题
     *   3.2  寻找中间节点问题
     *   3.3  成环+断环问题 --> 旋转链表 + 注意很多边界
     * 4. 反转链表系列问题
     *   4.1 经典反转
     *   4.2 结合 快慢指针, 回文链表..
     *   4.3 反转区间链表  比如 反转链表二, 两两交换链表中的节点
     * 6. 虚拟头结点问题
     *   6.1 复杂问题几乎全部使用虚拟头结点,因为总是要处理头结点的问题,加上它就不需要处理了,特别是一些边界处理,节省很多代码量
     *   比如: 删除链表, 反转链表

     *  记录一些经典问题还没有梳理
     *  LeetCode 86,109,114,138,143,147,148,328,1019,1171
     *  设计问题
     *  707,1206
     *  链表加一, 实现双链表-设计链表 , 链表成环问题, k个一组链表反转
     */
}